Numerically controlled (NC) milling involves various techniques for removing material (“milling” or “cutting”) from a workpiece to create an object of a particular shape and with defined dimensions. In NC milling, a milling machine or machine tool generally drives one or more cutting tools along a programmed path, known as a toolpath.
A toolpath is often generated using a computer, typically with the aid of a Computer Aided Manufacturing (CAM) system. Using a CAM system, a programmer can define a volume to be milled by selecting geometry from the graphics display and specifying a set of governing parameters. Although the name and number of these parameters may vary widely among CAM systems, often a programmer will specify a spindle speed, a feedrate, a stepover or radial depth of cut (RDOC), and an axial depth of cut (ADOC).
A common algorithm used in CAM systems is a parallel offset algorithm. In its simplest form, the parallel offset algorithm takes a closed region bounded by a set of boundary contours (e.g., closed loops formed by sequences or chains of curves) and computes a series of inner offset contours at regular distances from the boundary. Commonly, the first offset is a distance R+w from the boundary of the region, where R is the radius of the cutting tool and w is some amount of extra material to leave on the walls of the workpiece. Subsequent offset contours are at distances R+w+s, R+w+2s, etc., where s is the RDOC. These contours become smaller and smaller until nothing is left, at which point the process terminates. Then, a toolpath is generated by traversing these offsets in reverse, cutting the region from inside to out. FIG. 1 shows a simple pocket region, bounded by the boundary contour 102, with simple parallel offsets 104 comprising the prior art toolpath.
Early versions of the parallel offset algorithm created each offset contour by taking each element of the boundary contour and computing an offset curve on one side of the boundary element. By forcing the boundary contour to be expressed as a sequence of circular arcs and line segments, this part of the process is quite simple because the offset of a circular arc is a concentric circular arc of identical sweep angle but different radius, and the offset of a line segment is a line segment parallel to it and of the same length. Unfortunately, after the offset elements are generated in this manner, they may need to be intersected and trimmed against each other to generate the final offset contour. For example, consider the boundary contour 202 in FIG. 2. The intersection of offset elements with each other produces pieces 204 that become part of the offset contour, and pieces 206 that are thrown away. This process may need to be repeated for each offset contour, is typically inefficient, and it suffers from numerical instability that causes computer implementations of it to fail often.
In 1978, Persson developed a method for computing offset curves for NC milling based on bisectors of boundary curves. Held refined this idea in 1991 and developed a stable, efficient method for creating sequences of offsets based on a Voronoi Diagram. The Voronoi Diagram of boundary contours is simply a partitioning of the closed region into a number of areas, called Voronoi faces, each of which is closer to a given boundary element than to any other boundary element. FIG. 3 shows a simple shape partitioned into four Voronoi faces 302, 304, 306, and 308, each of which is associated with a single boundary segment. The edges 310, 312, 314, 316, 318 and vertices 320, 322 of the Voronoi Diagram are the only places inside the region that are equidistant from two or more boundary elements. For this reason, it is customary to define a function on the edges and vertices of the Voronoi Diagram known as the “radius function.” For any point on a Voronoi edge or vertex, the radius function returns the distance from that point to the nearest boundary. Persson and Held realized that offset elements always meet other offset elements at these edges and vertices of the Voronoi Diagram. Thus, pre-computing the Voronoi Diagram leads to a simple process for creating offset contours: walking around the Voronoi Diagram, marking points on Voronoi edges that are at the target offset distance using the radius function, and connecting the points together with circular arcs and lines. FIG. 4 illustrates how points 402, 404, 406, and 408 on Voronoi edges are visited in order, so as to trace out the dashed-line offset contour 410. This process is extremely fast and numerically stable, and is widely used in modern CAM systems.
Classic parallel offset milling has a number of problems that can make it unsuitable for high speed milling. It is well known, for example, that tangent discontinuities in the offset contours can cause spikes in tool load and make it difficult for the tool to clear the chips it cuts, leading to a buildup in heat and possibly catastrophic tool failure. Less well known is that the material removal rate can vary considerably even when the offset contours are tangent continuous. Consider FIG. 5, which illustrates what happens when we move the milling cutter from a straight line cut to an arc cut, where the arc cut is concentric with a smaller arc cut on a previous pass. Milling along path 502 has left us with material in regions 504 and 506. During the next pass 508, the cutting tool removes region 506. Note that while the cutter is moving along the linear part of 508, only 58 degrees of the cutter are in contact with region 506. However, when the cutter moves to the arc portion of 508, 72 degrees of the cutter are in contact with region 506. If the feedrate is kept constant, the material removal rate along the arc increases by about 31% over the straight-line cut. Smaller arcs would result in even larger increases in material removal rate.
To address such variations in the material removal rate, many modifications to the classic offset algorithm have been proposed, including toolpath smoothing, feedrate optimization, and techniques designed to control the tool engagement angle or material removal rate. Many of these approaches require additional tool motion; in some cases, the total travel distance of the tool can be up to 200% longer than a simple parallel-offset path. Although the tool may be able to travel at a significantly higher feedrate, limitations of the milling machine, cutting tool, or material can make such an increase in travel distance impractical.